package com.ruoyi.oss.template;

import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.List;

public interface OssTemplate {

    void makeBucket(String bucketName);

    void removeBucket(String bucketName);

    boolean bucketExists(String bucketName);

    void copyFile(String srcBucketName, String fileName, String destBucketName);

    void copyFile(String srcBucketName, String fileName, String destBucketName, String destFileName);

    public String generalUploadPath(String bucketName, String fileName) ;

    public InputStream getInputStream(String bucketName, String fileName) ;

    String getDownloadPath(String bucketName, String fileName);

    String getPlayPath(String bucketName, String fileName);

    void putFile(String bucketName, String fileName, MultipartFile file);

    void putFile(String bucketName, String fileName, InputStream stream);

    void removeFile(String bucketName, String fileName);

    void removeFiles(String bucketName, List<String> fileNames);

    public List<String> listObjects(String bucketName, String prefix) ;

    public void merge(String bucketName, String objectName, List<String> files) ;
}
